import type { Ref } from "vue";
import type { LoginParams, Patient, UserInfo, UserMessage } from "@/types/userTypes/userTypes.ts";

interface UserStoreInterface {
   userInfo: Ref<UserInfo>;
   userMessage: Ref<UserMessage>;
   patientList: Ref<Patient[]>;
   patientInfo: Ref<Patient>;
   passwordLogin: (data: LoginParams) => Promise<string>;
   sendCode: (mobile: string, type: string) => Promise<{ code: string, message: string }>;
   mobileLogin: (data: LoginParams) => Promise<string>;
   fetchUserMessage: () => Promise<void>;
   logout: () => Promise<string>;
   fetchPatientList: () => Promise<void>;
   deletePatient: (id: string) => Promise<string>;
   addPatient: (data: Patient) => Promise<string>;
   updatePatient: (data: Patient) => Promise<string>;
   findPatient: (id: string) => Promise<void>;
}

export default UserStoreInterface;
